perm filename SERVO.DOC[CMS,LCS] blob
sn#469395 filedate 1979-08-24 generic text, type C, neo UTF8
COMMENT ā VALID 00004 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 JOINT SERVO INTERFACE.
C00005 00003 SHARED MEMORY DEFINITIONS.
C00009 00004 SHARED MEMORY DEFINITIONS.
C00012 ENDMK
Cā;
JOINT SERVO INTERFACE.
HOST - JOINT COMMUNICATION.
Host - joint interface system.
The host - joint interface system is a standard LSI 11 parallel
interface which is connected through the joint i/o interface board
to each joint processor's memory. The joint i/o interface board also
serves as the host's connection to the external parallel inputs and
outputs.
CSR0.
The CSR0 bit is the address/data bit for I/O transfers to
and from the joint processors memory. 0 for address and 1 for data.
CSR1.
The CSR1 bit is the read/write bit for I/O to the joint
processors memory. 0 for read and 1 for write.
DRINBUF.
The input buffer is used to read data from a joint's memory
when a joint is addressed and CSR1 is not set. This buffer is also
used for the same functions as the earlier board (XIN, INTOL, ATTN REQ,
etc.) .
DROUTBUF.
When CSR0 is 0 the output buffer is used to address the memory
and select the joint. Bits 0 through 2 select the joint, and bits
8 through 13 are the complement of the memory address. Bit 3, when
set, enables the joint select counter for accessing the joints in
sequence.
When CSR0 is 1 the output buffer is used to write data to the
selected joint's memory.
The output buffer also is used for other functions as in the
earlier board (XOUT, etc.) .
When CSR0 is set, reading the DRINBUF by the host when CSR1
is set, or writing the DROUTBUF by the host when CSR1 is clear,
should be avoided because doing so transfers data according to CSR1.
When reading a joint's memory immediately after writing the
same location without clearing CSR0, it is nessesary to read DRINBUF
twice before getting valid data.
SHARED MEMORY DEFINITIONS.
STATUS: 77000
Bit 15 is the servo error bit. It is set if any error bit in
the status word is set. When it is set, the servo enable bit in the
mode word is cleared unless the diagnostic bit in the mode word is set
and the cause of the error is a host time out (bit 13 in STATUS).
Bit 14 is the check word error bit.
Bit 13 is the host time out error bit.
Bit 12 is the joint interrupt error bit.
Bit 11 is the position out of range error bit.
All other bits of the STATUS word are undefined. Bits 8 through 15
of the STATUS word are cleared after a reset.
MODE: 76000
Bit 15 of the mode word is the servo enable bit. When clear,
the DAC output will allways be zero. It must be set before the joint
will accept a position command or servo in diagnostic mode.
Bit 14 is the integrator enable bit.
Bit 13 is the LSB servo enable bit.
Bit 12 is the diagnostic mode enable bit. When set and the
servo is enabled, host time out errors are disabled from clearing the
servo enable bit in the MODE word.
All other bits are undefined. Bits 8 through 15 of the MODE word
are cleared after a reset.
CKWORD: 75000
This word is set to 377 (octal) by the joint on reset and when
written by the host is used as a command. After being read by the
joint, the joint resets it to 377 to handshake with the host.
There are only two valid commands so far. 177001 is a no-op
and 177400 is the position command. Before a position command is
written the servo must be enabled in the MODE word and the new position
must be written in the CMDPOS word.
Invalid commands cause the joint processor to go into stop mode and
set the check word error bit.
CMDPOS: 74000
This word is used for the new position value in a position command.
Bits 14 and 15 must match or the joint will go into stop mode and set the
position out of range error flag.
IOCTRL: 73000
This word is a copy of the JCR output port in bits 8 through
15. IOCTRL is read only. Bit 10 is the position mode bit which, when
cleared, puts the joint in free mode (setpoint tracks encoder) .
CURPOS: 72000
This is the current position from the encoder.
SHARED MEMORY DEFINITIONS.
NINTER: 71000 Bits 8 through 15 of this word are the number of interpolations
per host command. The number of interpolations defaults to 16
after a reset.
INTSCL: 70000 Bits 8 through 15 are the number of right shifts for the
interpolating increment. The number of shifts defaults to 4
after a reset.
HSTLIM: 67000 Bits 8 through 15 are the number of joint processor tick
interrupts before the processor times out and clears the
servo enable bit in the MODE word. Number of ticks defaults to
24 after a reset.
VGAIN: 66000 Floating point velocity error gain.
(136413 octal = -0.125 for a gain of 1.)
GRAVTY: 65000 Integer DAC offset variable.
POSTOL: 64000 Integer position tolerance band variable.
INTTOL: 63000 Integer integrator tolerance band variable.
PGAIN: 62000 Floating point position error gain.
(40013 octal = 1.0 for a gain of 1.)
VELERR: 61000 Integer velocity error.
VSUM: 60000 Integer average velocity * 8. (Sum of last eight velocitys).
FSCL: 57000 Bits 8 through 15 are the number of right shifts for the
friction offset. Number of shifts defaults to 6 after a
reset.
SETPT-1:56000 Bits 8 through 15 of this word are the fractional byte of the
current setpoint. This word is not in lockout sync with SETPT.
SETPT: 55000 This word is the current setpoint.
DACSIG: 54000 Bits 8 through 15 of this word are the last value the DAC got
unless the servo is disabled, in which case they are undefined.
ACGAIN: 53000 Floating point acceleration gain. Defaults to 0 after a reset.